package com.linzm.creationaltype.abstractfactory02.factory;

import com.linzm.creationaltype.abstractfactory02.Color.Color;
import com.linzm.creationaltype.abstractfactory02.Shape.Shape;

/**
 * @Author zimingl
 * @Date 2023/4/15 19:26
 * @Description: AbstractFactory
 */
public abstract class AbstractFactory {
    /**
     * 获取图形颜色
     *
     * @param color color
     * @return Color
     */
    public abstract Color getColor(String color) throws Exception;

    /**
     * 使用 getShape 方法获取形状类型的对象
     *
     * @param shape shapeType
     * @return Shape
     */
    public abstract Shape getShape(String shape) throws Exception;
}
